package pe.com.pgn.consolidadorventas.servidorcentral.ws.util;

import org.apache.log4j.Logger;

import pe.com.pgn.consolidadorventas.servidorcentral.util.Constantes;
import pe.com.pgn.consolidadorventas.servidorcentral.util.LoggerUtil;

public class WsTimeOutController {

	static Logger logger = Logger.getLogger(WsTimeOutController.class);
	int timeOut;
	Thread h;
	WsTimeOutThread t;
	
	public WsTimeOutController(){}
	
	public WsTimeOutController(int timeOut,WsTimeOutThread t){
		this.timeOut = timeOut;
		this.t = t;
	}
	
	public String enviarMensaje(){
		
		String rpta = "";
		h = new Thread(t);
		h.start();
		
		try {
			int i = 0;
			boolean llamadaCompletada = false;
			
			while(i<timeOut && !llamadaCompletada){
				Thread.sleep(1000);
				if(t.getMsnRpta().equals(Constantes.TIMEOUT_EXCEDIDO)){
					i = i+1;
				}else{
					llamadaCompletada = true;
				}
			}
			
			rpta = t.getMsnRpta();
			
			if(!llamadaCompletada){
				//Para que ya no imprima mensajes
				t.cancelarLlamada();
			}
		} catch (InterruptedException e1) {
			LoggerUtil.debug(logger, e1.getMessage());
			rpta = Constantes.TIMEOUT_EXCEDIDO;
		}
		return rpta;
	}

	public int getTimeOut() {
		return timeOut;
	}

	public void setTimeOut(int timeOut) {
		this.timeOut = timeOut;
	}

}
